#include<iostream>
#include<algorithm>
#include<cstdio>
using namespace std;
long long n,f[100000+10][3];
struct summer
{
	long long a,b,c;
}a[100000+10];
int main()
{
	freopen("summer.in","r",stdin);
	freopen("summer.out","w",stdout);
	scanf("%lld",&n);
	for(int i=1;i<=n;i++)
	{
		scanf("%lld%lld%lld",&a[i].a,&a[i].b,&a[i].c);
	}
	f[1][0]=a[1].a;
	f[1][1]=a[1].b;
	f[1][2]=a[1].c;
	for(int i=2;i<=n;i++)
	{
		f[i][0]=max(f[i-1][1]+a[i].a,f[i-1][2]+a[i].a);
		f[i][1]=max(f[i-1][0]+a[i].b,f[i-1][2]+a[i].b);
		f[i][2]=max(
		f[i-1][0]+a[i].c,f[i-1][1]+a[i].c);
	}
	printf("%lld",max(f[n][2],max(f[n][0],f[n][1])));
	return 0;
}
